/*----------------------------------------------------------------------------------------
*
*  Copyright 2019, Gao Hai Hui, <fromzeropoint@126.com>.  All rights reserved.
*  https://gitee.com/helloworldghh/xoskit.git
*  Use of this source code is governed by a MIT license
*  that can be found in the License file.
*
----------------------------------------------------------------------------------------*/
#ifndef __XOS_STL_PROTOCOL_PACKAGE_PKG_DATA_INT32_RET_LIST_REQ_H__
#define __XOS_STL_PROTOCOL_PACKAGE_PKG_DATA_INT32_RET_LIST_REQ_H__

#include <string>
#include "../../import/head.h"
#include "../../tools/head.h"
#include "../db/db_data.h"
#include "../db/db_get.h"
#include "pkg_public_functions.h"
#include "pkg_base_ret_list_req.h"

namespace xos_protocol
{

    template< class T, class PACKER, class REQUEST, class SESSION, class PACKAGE >
    class pkg_data_int32_ret_list_req : public pkg_base_ret_list_req<
        pkg_data_int32_ret_list_req< T, PACKER, REQUEST, SESSION, PACKAGE >, 
        T,
        PACKER,
        REQUEST, 
        SESSION, 
        PACKAGE >
    {
    public:
        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        // 
        typedef pkg_data_int32_ret_list_req< T, PACKER, REQUEST, SESSION, PACKAGE > CHILD;
        typedef pkg_base_ret_list_req<
            CHILD,
            T,
            PACKER,
            REQUEST,
            SESSION,
            PACKAGE > BASE;

    public:
        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        // 
        pkg_data_int32_ret_list_req( xos_box::i_serial * pSerial, xos_container::i_container * pContainer, int nProtocol ) :
            BASE( pSerial, pContainer, nProtocol )
        {
        }
        ~pkg_data_int32_ret_list_req()
        {
        }

    public:
        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //
        int helper_compose( REQUEST * pRequest, xos_box::i_buf * pBuf )
        {
            int ret = 0;

            ret = f_req_data_int32_ret_list_compose< CHILD, T, PACKER, REQUEST >( this, pRequest, pBuf );

            return ret;
        }

        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //

    };

} // xos_protocol

#endif // __XOS_STL_PROTOCOL_PACKAGE_PKG_DATA_INT32_RET_LIST_REQ_H__
